跳到主要内容

调试 Node-RED

本指南提供了 OV20i 摄像头系统中 Node-RED 问题的全面故障排除流程。适用于现场维修、生产问题调试及检测流程的预防性维护。

注意

安全第一: 在对运行中的检测系统进行更改前,务必通知生产部门。修改流程前请先备份。

紧急快速修复程序

关键系统宕机 - 立即操作

步骤操作时间结果
1检查摄像头电源 LED 状态30 秒确认硬件正常
2访问 OV20i Node-RED:http://camera-ip/recipes/<recipe-number>/ioblock1 分钟确认编辑器可访问
3查找红色三角错误标识1 分钟识别故障节点
4点击 Deploy 按钮(完全部署)30 秒重置所有流程
5测试基本检测触发2 分钟验证系统运行正常

系统恢复(编辑器无法加载时)

OV20i 摄像头无安全模式,重启为主要恢复手段:

  1. 断电重启摄像头(断开电源 10 秒)
  2. 等待完全启动(4 个 LED 稳定 - 2-3 分钟)
  3. 通过配方专用 URL 访问 Node-RED
  4. 验证流程完整性并进行必要修复
  5. 部署更改恢复正常运行
备注

URL 格式: http://<camera-ip>/recipes/<recipe-number>/ioblock

示例:

  • http://192.168.0.101/recipes/20/ioblock
  • http://192.168.0.105/recipes/1/ioblock

系统化调试流程

步骤 1:确定问题范围

快速评估问题

问题
能否访问 OV20i Node-RED 界面?继续步骤 2检查网络/摄像头状态
编辑器中能看到流程?继续步骤 2断电重启摄像头后重试
节点上有错误三角标识?优先关注这些节点检查流程执行情况
检测是否触发?检查单个节点输出验证触发输入
备注

访问 URL: 使用配方专用格式:http://<camera-ip>/recipes/<recipe-number>/ioblock

步骤 2:启用调试监控

添加调试节点进行故障排除

  1. 在问题流程关键点放置 Debug 节点:
    • 触发输入后
    • 逻辑节点前后
    • 最终输出处
  2. 配置 Debug 节点以获取最大信息量:
    • 输出: 完整消息对象
    • 发送至: 调试侧边栏
    • 名称: 具描述性的名称(如“分类逻辑后”)
  3. 点击编辑器中的按钮启用所有 Debug 节点

调试侧边栏管理

访问调试侧边栏:

  • 点击右侧面板的 Debug 标签(虫子图标)
  • 使用垃圾桶图标 清除旧消息
  • 节点过多时可 过滤消息

调试消息解读:

  • 时间戳 显示消息发生时间
  • 节点名称 显示消息来源节点
  • 消息内容 显示数据结构和值

步骤 3:追踪流程执行

跟踪消息路径

  1. 从触发源开始(注入、定时器、外部输入)
  2. 验证每个节点是否收到预期输入
  3. 检查每步消息转换
  4. 定位流程停止或输出错误的位置

常见流程中断点

节点类型常见问题快速检查
分类逻辑未达到置信度阈值检查 ROI 对齐,重新训练模型
Switch 节点条件逻辑错误验证开关规则和消息属性
Join 节点等待不完整消息集检查消息部分数量
Function 节点JavaScript 错误检查浏览器控制台错误
HTTP Request网络连接问题手动测试接口

常见 Node-RED 问题及解决方案

流程执行问题

问题:流程未触发

症状:

  • 调试侧边栏无消息
  • 系统无响应
  • 外部触发无效

诊断步骤:

  1. 检查触发源: 手动注入、定时器、外部输入
  2. 确认连线: 确保节点间连接正确
  3. 测试手动触发: 使用 Inject 节点强制启动流程

解决方案:

原因解决方法预防措施
流程被禁用点击 Deploy → 完全部署修改后定期部署
连接断开正确重新连线节点编辑时视觉检查
定时器配置错误检查 Inject 节点定时设置记录定时要求
外部触发失败验证 I/O 线路和信号定期测试 I/O

问题:流程运行但结果错误

症状:

  • 消息流动但分类错误
  • 通过/失败逻辑异常
  • 结果不一致

诊断流程:

  1. 在疑点节点前后添加 Debug 节点
  2. 对比预期与实际消息内容
  3. 检查节点配置参数

解决方案:

问题区域检查项修复方法
分类逻辑ROI 对齐,模型训练重新训练或调整 ROI
Switch 条件属性名称和值修正开关逻辑
消息属性数据类型和格式使用 Change 节点修正格式
上下文变量存储值和作用域清除/重置上下文存储

性能问题

问题:流程执行缓慢

症状:

  • 触发与输出间延迟
  • 检测超时
  • 系统卡顿

性能诊断:

  1. 检查 Debug 时间戳定位慢节点
  2. 监控摄像头系统 CPU 使用率
  3. 统计激活的 Debug 节点数量(禁用未用节点)

优化措施:

性能问题解决方案预期改进
Debug 节点过多禁用/移除未用 Debug 节点提升 10-20% 速度
复杂 Function 节点优化 JavaScript 代码改进程度视情况
高频触发添加延迟/限速防止系统过载
消息体积大减少消息负载大小加快处理速度

维护程序

每日健康检查

流程视觉检查(5 分钟)

  1. 访问 Node-RED 编辑器
  2. 检查错误标识(红色三角)
  3. 确认流程连接完整
  4. 查看近期 Debug 消息异常

流程执行测试(10 分钟)

  1. 使用 Inject 节点手动触发测试
  2. 验证 Debug 侧边栏预期输出
  3. 用已知良品/不良品测试通过/失败逻辑
  4. 确认外部通信正常(PLC、数据库)

每月维护任务

性能评审(15 分钟)

流程优化检查表:

任务操作备注
Debug 节点清理禁用未用 Debug 节点保留必要调试
上下文存储检查清理无用存储值防止内存积累
错误日志检查查看浏览器控制台错误记录重复问题
备份创建导出流程备份文件记录日期/版本

配置验证(20 分钟)

  1. 对比当前流程与文档标准
  2. 确认关键路径有错误处理
  3. 测试错误恢复场景
  4. 更新文档变更内容

每月深度维护

综合流程分析(45 分钟)

性能指标收集:

  • 流程执行时间
  • 错误频率分析
  • 资源使用模式
  • 通信可靠性

流程结构审查:

  • 删除冗余节点
  • 合并重复逻辑
  • 更新废弃配置
  • 优化复杂 Function 节点

备份与恢复测试(30 分钟)

  1. 创建完整流程导出
  2. 测试备份系统导入流程
  3. 验证备份恢复功能完整
  4. 记录恢复流程

诊断工具与技术

内置 Node-RED 工具

调试侧边栏功能

功能用途访问方式
消息过滤聚焦特定节点侧边栏过滤按钮
消息历史查看最近 100 条消息调试侧边栏滚动
节点定位查找 Debug 消息来源点击消息中的节点名
消息导出保存诊断数据复制消息内容

上下文数据浏览器

访问上下文存储:

  • 打开 OV20i Node-RED 界面 (http://<camera-ip>/recipes/<recipe-number>/ioblock)
  • 进入 Context Data 标签(右侧边栏)
  • 查看 Node/Flow/Global 上下文值

上下文调试:

  • 节点上下文: 检查单节点状态
  • 流程上下文: 验证共享流程变量
  • 全局上下文: 审查系统范围设置

网络通信测试

HTTP 请求验证:

  1. 使用外部工具(Postman、curl)测试接口
  2. 验证响应格式符合预期
  3. 测试错误情况(超时、无效响应)

PLC 通信验证:

  1. 使用 PLC 编程软件确认连接
  2. 独立测试数据寄存器访问
  3. 验证数据格式转换

紧急恢复程序

流程损坏恢复

损坏症状:

  • OV20i Node-RED 界面无法加载流程
  • 摄像头重启后流程为空
  • 部署反复失败

恢复步骤:

  1. 断电重启 OV20i 摄像头:
    • 断开电源 10 秒
    • 等待完全启动(4 个 LED 稳定)
  2. 访问配方 Node-RED 界面:
    • 访问 http://<camera-ip>/recipes/<recipe-number>/ioblock
    • 若流程损坏,从备份导入
  3. 从备份恢复:
    • 使用 OV20i 配方导入功能
    • 导入最新备份文件
    • 确认所有连接完整
  4. 验证恢复:
    • 测试所有关键流程
    • 验证外部通信
    • 更新配置变更

系统资源问题

内存/CPU 过载

立即操作:

  1. 禁用非必要 Debug 节点
  2. 移除高频定时触发
  3. 简化复杂 Function 节点
  4. 断电重启摄像头重启服务

长期解决方案:

  • 针对 OV20i 硬件优化流程设计
  • 实施速率限制
  • 减少消息负载大小
  • 规划维护窗口

故障排除检查表

维护前检查表

  • 通知生产维护时间
  • 创建当前流程备份
  • 记录当前系统状态
  • 准备回滚方案
  • 测试备份恢复流程

维护后验证

  • 所有流程成功部署
  • 手动触发测试通过
  • 外部通信验证完成
  • 错误标识清除
  • 性能符合要求
  • 文档更新

紧急响应检查表

  • 评估系统影响
  • 通知生产
  • 尝试快速修复
  • 必要时恢复备份
  • 确定根本原因
  • 实施预防措施

文档与日志记录

维护记录

必填文档内容:

  • 维护日期/时间
  • 发现及解决的问题
  • 配置变更
  • 性能提升
  • 未来建议

🔗 相关资源


提示

记录调试过程中所有更改,有助于未来故障排除并积累团队知识。